package com.intermancer.predictor.feeder;

import java.util.Iterator;
import java.util.List;

import com.intermancer.predictor.data.Quantum;
import com.intermancer.predictor.evaluator.Evaluator;
import com.intermancer.predictor.organism.Organism;

public abstract class FeederWrapper implements Feeder {
	
	private Feeder feeder;
	
	public FeederWrapper() {
		super();
	}
	
	public FeederWrapper(Feeder feeder) {
		setFeeder(feeder);
	}

	public Feeder getFeeder() {
		return feeder;
	}

	public void setFeeder(Feeder feeder) {
		this.feeder = feeder;
	}

	@Override
	public void addFeedCycleListener(FeedCycleListener feedCycleListener) {
		feeder.addFeedCycleListener(feedCycleListener);
	}
	
	@Override
	public void setFeedCycleListeners(List<FeedCycleListener> listeners) {
		feeder.setFeedCycleListeners(listeners);
	}

	@Override
	public Evaluator getEvaluator() {
		return feeder.getEvaluator();
	}

	@Override
	public Iterator<Quantum> getIterator() {
		return feeder.getIterator();
	}

	@Override
	public Organism getOrganism() {
		return feeder.getOrganism();
	}

	@Override
	public void init() {
		feeder.init();
	}

	@Override
	public void setOrganism(Organism organism) {
		feeder.setOrganism(organism);
	}

}
